// import 'dart:async';
// import 'dart:io';
//
// import 'package:flutter/material.dart';
// import 'package:lcapp/api/interface/home_api.dart';
// import 'package:lcapp/api/request/response_data.dart';
// import 'package:lcapp/basic/local_info.dart';
// import 'package:lcapp/data/lc_video_data_entity.dart';
// import 'package:lcapp/model/event/event_bus.dart';
// import 'package:lcapp/model/toast/toast.dart';
// import 'package:lcapp/page/home/home_new_video_item.dart';
// import 'package:lcapp/page/home/home_video_item.dart';
// import 'package:lcapp/widget/lc_gesture_detector.dart';
//
// class HomeFlollowPage extends StatefulWidget {
//   const HomeFlollowPage({Key? key}) : super(key: key);
//
//   @override
//   _HomeFlollowPageState createState() => _HomeFlollowPageState();
// }
//
// class _HomeFlollowPageState extends State<HomeFlollowPage> with AutomaticKeepAliveClientMixin{
//
//   PageController? pageController;
//   int pageNum = 1;
//   int pageSize = 10;
//   List<LcVideoDataEntity> lcVideos = [];
//   StreamSubscription? loginSub;
//
//   @override
//   void initState() {
//     // TODO: implement initState
//     super.initState();
//     loginSub = eventBus.on<LoginState>().listen((event) {
//       if(AsrLocalInfo.token==null){
//         lcVideos.clear();
//         setState(() {});
//       }
//     });
//     pageController = PageController();
//     getVideos(isShowLoading:true);
//   }
//
//
//   getVideos({bool isShowLoading = false})async{
//
//     if(isShowLoading){
//       showLoading();
//     }
//     ResponseData res = await HomeAPI.getAttentionVideos(pageNum,pageSize);
//     if(isShowLoading){
//       hideLoading();
//     }
//     if(res.code==200){
//       List arr = res.data??[];
//       if(pageNum==1){
//         lcVideos.clear();
//       }
//       for (var element in arr) {
//         LcVideoDataEntity entity = LcVideoDataEntity().fromJson(element);
//         lcVideos.add(entity);
//       }
//     }
//     if(mounted){setState(() {
//     });}
//   }
//
//   @override
//   void dispose() {
//     // TODO: implement dispose
//     super.dispose();
//     loginSub?.cancel();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return lcVideos.isEmpty?Container(
//       child: Center(
//         child: lcGestureDetector(
//           isLogin: true,
//           onTap: (){
//             pageNum=1;
//             getVideos();
//           },
//           child: const Text('点击加载',style:  TextStyle(
//             color: Colors.white
//           ),),
//         ),
//       ),
//     ): RefreshIndicator(child: PageView.builder(
//       controller: pageController,
//       scrollDirection: Axis.vertical,
//       itemCount: lcVideos.length,
//       onPageChanged: (index){
//         if(index==lcVideos.length-1&&index>0){
//           pageNum++;
//           getVideos();
//         }
//       },
//       itemBuilder: (context, index) {
//         return Platform.isIOS ?
//         HomeVideoItem(0,entity: lcVideos[index],videos: lcVideos,clickFun: (index){
//           setState(() {
//             for(int i=0;i<lcVideos.length;i++){
//               print('lc======' + lcVideos[i].attentionState.toString());
//               if(lcVideos[i].attentionState==0){
//                 setState(() {
//                   lcVideos.removeAt(i);
//                 });
//               }
//             }
//           });
//         },)
//             :
//         HomeNewVideoItem(0,entity: lcVideos[index],videos: lcVideos,clickFun: (index){
//           setState(() {
//             for(int i=0;i<lcVideos.length;i++){
//               print('lc======' + lcVideos[i].attentionState.toString());
//               if(lcVideos[i].attentionState==0){
//                 setState(() {
//                   lcVideos.removeAt(i);
//                 });
//               }
//             }
//           });
//         },);
//       },
//     ), onRefresh: ()async{
//       pageNum = 1;
//       getVideos();
//     });
//   }
//
//   @override
//   // TODO: implement wantKeepAlive
//   bool get wantKeepAlive => true;
// }
